The present invention relates to the correlation of two signals to determine the phase relationship, or time shift, that exists between the two signals. In particular, the present invention relates to methods and apparatus for determining the phase relationship, or time shift, between two signals by means of recognizing identifiable features in the signals and measuring the time difference between occurrences of the recognized features in the two signals.
Data communication systems often require the correlation of signals. One use of correlation is to extract a signal with known characteristics from another complex, noisy signal or set of signals. Another use of correlation is to determine the phase relationship, or time shift, of one signal with respect to another signal. The techniques described below to this second application of correlation.
Specifically, the described techniques may be used to decode data transmitted in a communications system based, at least in part, on the CEBus standard, EIA-600. Unlike the EIA-600 standard, data is encoded using the techniques described below as one of 256 discrete time shifts of a specific, known pattern. To decode the transmitted data, a correlator is used to compare the received signal to the known pattern of an unshifted signal and, thus, to determine which of the 256 possible time shifts was used in transmitting the data byte. Each time shift corresponds to a unique data word.
The CEBus standard makes use of a spread spectrum communications technique known as a chirp to overcome frequency dependant characteristics of a transmission medium. A transmission medium can often exhibit very poor transmission characteristics at certain frequencies, and these frequencies with poor transmission characteristics may vary based on location and time. Transmitting information using a chirp overcomes such problems by transmitting each bit of data as a swept pattern of frequencies. Thus, even if some of the frequencies within the bandwidth of the swept pattern exhibit poor transmission characteristics, enough of the frequencies will be passed to successfully transmit the data.
FIG. 1 illustrates an exemplary chirp waveform. This chirp begins at 100 kHz and sweeps through to 400 kHz in a time period of 100 μs. The actual chirp waveform used in the CEBus standard is shown in FIG. 2. This particular chirp begins at 200 kHz, sweeps up to 400 kHz in nineteen cycles, sweeps down to 100 kHz in one cycle, and then sweeps back up to 200 kHz in five cycles. According to the CEBus standard, data information is transmitted using this chirp waveform by phase inverting (by 180 degrees) the cycles of the chirp. For example, a “one” may be transmitted by sweeping first to positive five volts, whereas a “zero” may be transmitted by sweeping first to negative five volts.
U.S. Pat. No. 6,064,695 to Raphaeli, titled “Spread Spectrum Communication System Utilizing Differential Code Shift Keying”, expands on the CEBus concept by proposing the encoding of data within a chirp by shifting the start frequency of the chirp, in contrast to phase inverting the entire chirp waveform. The '695 patent proposes selecting thirty-two individual starting positions within the chirp. Two such time-shifted chirp patterns are depicted in FIGS. 3 and 4. According to the system described in the '695 patent, a received chirp can be correlated to the known pattern of an unshifted chirp pattern to determine which of the thirty-two possible shift positions was used in transmitting the chirp. The thirty-two defined time shifts allow for the encoding of five bits of data in a single bit period, in contrast to the single bit that is encoded by simple phase inversion.
Despite the data rate increase, data transmissions using this concept nevertheless suffer from unreliability as a result of impulse noise in the transmission medium that can block enough energy of any given chirp to make it impossible to correlate the received chirp to one of the unshifted patterns. To overcome this problem, the '695 patent further proposes selecting eight individual chirps with specific shift positions and combining these eight chirps into a single chirp, called a superchirp. This superchirp defines a unique, fixed pattern over a period of 800 μs.
FIG. 5 illustrates such a superchirp. The length of the superchirp pattern results in impulse noise blocking only relatively small segments of the pattern. This allows the superchirp to be correlated with the unshifted patterns using those portions of the superchirp that are received clearly. Data is encoded in the superchirp by cyclically shifting the transmission starting position within the superchirp pattern. According to the '695 patent, 256 possible starting positions are used to allow the encoding of eight bits of data over eight bit periods.
Two such time-shifted superchirps are depicted in FIGS. 6 and 7. A received superchirp can be correlated to the known pattern of an unshifted superchirp to determine which of the 256 possible shift positions was used to transmit the superchirp. FIG. 8 depicts how a received superchirp might actually appear after being transmitted though a typical transmission medium. The simulated transmission medium used for this example was designed to exhibit poor transmission characteristics at about 200 kHz. This, in turn, results in the low received signal levels shown near 200 kHz and in the regular “burst” pattern that is evident in the figure. In addition, impulse noise was added to simulated environment between 250 μs and 325 μs, and again at about 600 μs. To recover the data transmitted in this superchirp, it is necessary to correlate the received pattern with the known pattern of an unshifted superchirp. The shift pattern shown in FIG. 8 correlates to the shift pattern depicted in FIG. 6.
The conventional method of correlating such a pattern is to sample the data at regular intervals over the full length of the pattern and to store the resulting sequence of samples in a shift register. The received pattern is then repeatedly rotated in the shift register until a point of maximum correlation with one of the known patterns is determined. This conventional method is analogous to copying two patterns onto tracing paper, laying the traces one over the other on a light table, and then shifting the papers until the best possible match is achieved. It is also essentially the method of correlation that is described in the '695 patent. Using the conventional method for patterns as long as the superchirp pattern, however, has the disadvantage of requiring the use of very large shift registers and very complex correlation detectors. This, in turn, requires a large amount of logic circuitry to be employed and makes such circuitry very expensive to produce.
The techniques described below provide a simpler, more economical method of correlating patterns, as compared to those presently used to in correlation of superchirps. The described techniques provide for the correlation of patterns by first identifying certain features in a pattern, and then by searching for the position of these identified features within another pattern.